package org.fhm.zdte.server.cmd;

import org.fhm.substrate.annotation.Setup;
import org.fhm.zdte.common.pojo.Address;
import org.fhm.zdte.common.service.transmission.AbstractCmd;
import org.fhm.zdte.server.config.ServerInitialConfiguration;

import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * The abstract layer for processing command of the server side.
 *
 * @author 谭波
 * @since 2023/11/8
 */
abstract class AbstractServerCmd extends AbstractCmd {

    protected final static Map<String, Address> onlineUserContainer = Collections.synchronizedMap(new LinkedHashMap<>());

    protected final static Map<String, Long> onlineTimeRecordContainer = new ConcurrentHashMap<>();

    @Setup
    protected ServerInitialConfiguration serverInitialConfiguration;

}
